Skip to content

Fix more corner cases in late expansion #179

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 20, 2017
Merged

Conversation

retronym
Copy link
Member

No description provided.

e.g `val x2 = Foo[$1] with Bar = boundValue`

is rewritten to `val x2 = (Foo[$1] @uncheckedBounds) with Bar = boundValue`

This is to have refchecks turn a blind eye to the type argument that
doesn't conform the to type parameter bounds.

For regular compilation, without the async transform between patmat
and refchecks, bound conformance is disabled with:

  https://github.com/scala/scala/blob/v2.11.7/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala#L1743

Using the `uncheckedBounds` annotation is a newer, more inclusive way
of acheiving the same thing:

  https://github.com/scala/scala/blob/v2.11.7/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala#L1677
@retronym retronym merged commit 1802797 into scala:master Nov 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant